www.gusucode.com > XerCMS 携云PHP企业建站程序 v2015PHP源码程序 > XerCMS 携云PHP企业建站程序 v2015/XerCMS_v20150724/XerCMS_v20150724/XerCMS/Services/admin/member.php

    <?php
/**
 * @name     XERCMS
 * @author   Arno <XerCMS@163.com> [QQ:1328013]
 * @version  1.0.0
 * @link     http://www.XerCMS.com
 */
  
!defined('XERCMS') && exit('Access Denied');

libs('#XerCMS_member');

class Service_admin_member extends admin
{
     function xercms() {
	     $this->showMember();
	}
	
	function updatemember() {
		$id = int1(g('id')); 
		$member = p('member');
		if(!empty($member['pass'])) {
			$member['pass'] = md5($member['pass']);
			DB::update('xercms_member',array('pass'=>$member['pass']),'uid = '.$id);
		}
     	$credits = array();
		foreach($member['credits'] as $k=>$v) {
			$credits['credit'.$k] = (int)$v;
		}
		DB::update('xercms_member_credits',$credits,'uid = '.$id);	
		DB::update('xercms_member_profile',array('group'=>$member['group']),'uid = '.$id);
		$property = p('property');$model = g('model');;
     	i('m.member')->setProperty($id,$model,$property);	
    		$this->tips(11,'?s=admin&e=member&a=editmember&id=');
	}
	
	function delmember() {
		$id = isset($_GET['id']) ? (int)$_GET['id'] : 0;
    		memberdel($id);
     	$this->tips(11,'?s=admin&e=member');
	}
	
	function editmember() {	
		$id = int1(g('id'));$model = g('model','personal');
		$member = memberdata($id);$member = array_merge($member,i('m.member')->getProperty($id,$model));	
		include_once($this->tpl('header.htm')); 
		include_once($this->tpl('../../../Data/member/model/template/'.$model.'.htm'));  
	}
	
	function showMember() {
		$page = int1(g('page'));
		$member = DB::fetch_all('SELECT m.name as username,m.uid,s.time,p.nick,g.name as `group` FROM xercms_member m 
		               LEFT JOIN xercms_member_profile p ON p.uid = m.uid
					LEFT JOIN xercms_member_session s ON s.uid = m.uid 
                         LEFT JOIN xercms_member_group  g ON g.id =  p.`group`
					LIMIT '.(($page - 1)*30).',30');
          include_once($this->tpl('member.htm'));
	}
	
	
	function upload() {
		X::$G['do'] = g('d');
		switch (X::$G['do']) {
			case 'update':
				$data['model'] = p('model');
				$data['upload'] = p('upload');
				$data['upload'][1] = (int)$data['upload'][1]*1024*1024;
				$id = (int)p('id');
				ini('member/group/'.$id,$data);
  
				$limit = DB::result('SELECT * FROM xercms_config WHERE id = 5');
				$limit = json_decode($limit['content'],true);

				$limit[$id] = $data;
				DB::update('xercms_config',array('content'=>json_encode($limit)),'id = 5');
    				$this->tips(103,'?s=admin&e=group&c=limit');
			break;
			default:
        			$show = isset($_GET['show']) ? (int)$_GET['show'] : 0;
        			$page = isset($_GET['page']) ? (int)$_GET['page'] : 1;
        			$membergroup = membergrouplist();
	   
	    			global $model;$model = ini('archives/models');
				$limit = DB::result('SELECT * FROM xercms_config WHERE id = 5');
				$limit =  json_decode($limit['content'],true);
			break;
		}
		include_once($this->tpl('member.htm'));
	}
	
	function register() {
	     $groups = ini('member/groups');$config = ini('member/register');
		include_once($this->tpl('member.htm'));
	}
	
	function groups() {
		X::$G['do'] = g('d');
		switch(X::$G['do']) {
			case 'edit':
				$id = isset($_GET['id']) ? (int)$_GET['id'] : 0;
    				$membergroup = membergroupdata($id);
				$res = DB::query('SELECT * FROM xercms_member_group WHERE top = \'0\'');
				if($res) {
					if($membergroup['top'] != 0) {
						$utype = '<select style="border:1px solid #ccc;width:270px;height:26px;" name="membergroup[top]"><option value="0">顶级分类</option>';
						while($res && $type = DB::fetch($res)) {
							$utype .= '<option value="'.$type['id'].'" '.( $type['id'] === $membergroup['top'] ?  'selected' : '').'>'.$type['name'].'</option>';
        					}
						$utype .= '</select>';
      				} else $utype = '顶级分类不可修改<input type="hidden" name="membergroup[top]" value="0">';
    				}
			break;
			case 'limit':
				$data['model'] = p('model');
				$data['upload'] = p('upload');
				$data['upload'][1] = (int)$data['upload'][1]*1024*1024;
				$id = (int)p('id');
				ini('member/group/'.$id,$data);
  
				$limit = DB::result('SELECT * FROM xercms_config WHERE id = 5');
				$limit = json_decode($limit['content'],true);

				$limit[$id] = $data;
				DB::update('xercms_config',array('content'=>addslashes(json_encode($limit))),'id = 5');
    				$this->tips(103,'?s=admin&e=member&a=groups&c=limit');
			break; 
			case 'del':
				$id = int1(g('id'));
				$count = DB::count('xercms_member_group',array('top'=>$id));
				if($count > 0) {
					$this->tips('exists_son','?s=admin&e=member&a=groups');
				}
				DB::delete('xercms_member_group',array('id'=>$id));
				$data = ini('member/groups');
				unset($data[id]);
				ini('member/groups',$data);
				$this->tips(103,'?s=admin&e=member&a=groups');
			break;
			case 'update':
				$id = int1(g('id'));
				$membergroup = isset($_POST['membergroup']) ? $_POST['membergroup'] : '';$membergroup['attr'] = 'profile';
				DB::update('xercms_member_group',$membergroup,'id = '.$id);
				$data[$id] = $membergroup;
				ini('member/groups',$data);
    				$this->tips(103,'?s=admin&e=member&a=groups');
  			break; 
			case 'add':
				$membergroup = isset($_POST['membergroup']) ? $_POST['membergroup'] : '';$membergroup['attr'] = 'profile';
				$d = DB::insert('xercms_member_group',$membergroup);
				$data[$id] = $membergroup;
				ini('member/groups',$data);
				$this->tips(103,'?s=admin&e=member&a=groups');
			break;
			case 'upgrade':
				$data = p('data');$id = p('id');
				ini('member/group/'.$id,array('upgrade'=>$data));
				$upgrade = DB::result('SELECT * FROM xercms_config WHERE id = 6');
				$upgrade = json_decode($upgrade['content'],true);
				$upgrade[$id] = $data;
				DB::update('xercms_config',array('content'=>addslashes(json_encode($upgrade))),'id = 6');
    				$this->tips(103,'?s=admin&e=member&a=groups&c=upgrade');
  			break;
  			case 'message':
				$data = p('message');$data['url'] = isset($data['url']) ? '1' : '0';
				updateconfig(1,array('data'=>serialize($data['url'])),'common/message');
				updateconfig(2,array('data'=>serialize($data['filter'])),'common/message');
				updateconfig(3,array('data'=>serialize($data['limit'])),'common/message');	
    				$this->tips(103,'?s=admin&e=member&a=groups&c=message');
  			break;
			default:
				$c = g('c');
				switch($c) {
					case 'savesetting':
						$data = p('globals');
						$data['superadmin'] = explode(',',$data['superadmin']);
						ini('common/globals',$data);
						$data['superadmin'] = implode(',',$data['superadmin']);
        					DB::update('xercms_config',array('content'=>addslashes(json_encode($data['moderatorgroup']))),'id = 1');
        					DB::update('xercms_config',array('content'=>addslashes(json_encode($data['admingroup']))),'id = 2');
        					DB::update('xercms_config',array('content'=>$data['superadmin']),'id = 3');		
	    					$this->tips(103,'?s=admin&e=member&a=groups&c=setting');
	  				break;
	  				case 'limit':
	    					global $model;$model = ini('common/model');
						$membergroup = membergrouplist();
	    					$limit = DB::result('SELECT * FROM xercms_config WHERE id = 5');
	    					$limit = json_decode($limit['content'],true);//print_r($limit);exit;
	  				break; 
	  				case 'upgrade':
	    					$upgrade = DB::result('SELECT * FROM xercms_config WHERE id = 6');
	    					$upgrade = json_decode($upgrade['content'],true);
						$membergroup = membergrouplist();
	  				break;
	  				case 'setting':

	  				break; 
					default:
						$show = isset($_GET['show']) ? (int)$_GET['show'] : 0;
						$page = isset($_GET['page']) ? (int)$_GET['page'] : 1;
						$membergroup = membergrouplist();
					break;
				}
			break;
		}
		include($this->tpl('group.htm'));
	}
}
?>